/*
 * @lc app=leetcode.cn id=13 lang=javascript
 *
 * [13] 罗马数字转整数
 */

// @lc code=start
/**
 * @param {string} s
 * @return {number}
 */
var romanToInt = function(s) {
    const map = {
        I : 1,
        IV: 4,
        V: 5,
        IX: 9,
        X: 10,
        XL: 40,
        L: 50,
        XC: 90,
        C: 100,
        CD: 400,
        D: 500,
        CM: 900,
        M: 1000
    };//列举出所有可能的情况
    let num = 0;//累加器
    for(let i=0; i<s.length;) {
        if(i+1 < s.length && map[s.substring(i,i+2)]){
            //判断是否有特殊情况的字符，有则累加，指针后移两位
            num+=map[s.substring(i,i+2)];
            i+=2;
        }else {
            num+=map[s.substring(i,i+1)];
            i++;
        }
    }
    return num;
};
// @lc code=end

